/**
 * 
 */
package net.sf.graph4j.element;


import java.util.HashMap;
import java.util.Map;

/**
 * @author chen cong
 *
 */
public class AbstractPropertied implements IConstants, Cloneable, IPropertied{
	
	private Map properties = new HashMap();

	/**
	 * @return Returns the properties.
	 */
	public Map getProperties() {
		return properties;
	}

	/**
	 * @param properties The properties to set.
	 */
	public void setProperties(Map properties) {
		this.properties = properties;
	}

	/* (non-Javadoc)
	 * @see java.util.Map#get(java.lang.Object)
	 */
	public Object getProperty(Object key) {
		return properties.get(key);
	}

	/* (non-Javadoc)
	 * @see java.util.Map#put(K, V)
	 */
	public Object putProperty(Object key, Object value) {
		return properties.put(key, value);
	}

	/* (non-Javadoc)
	 * @see java.util.Map#putAll(java.util.Map)
	 */
	public void putAllProperty(Map t) {
		properties.putAll(t);
	}

	/* (non-Javadoc)
	 * @see java.lang.Object#clone()
	 */
	@Override
	protected Object clone() throws CloneNotSupportedException {
		// TODO Auto-generated method stub
		return super.clone();
	}
}
